package br.com.colegio.dao.storage;

import java.util.Collection;
import java.util.Map;
import java.util.TreeMap;

import br.com.colegio.dao.ColaboradorDAO;
import br.com.colegio.vo.Colaborador;

public class ColaboradorData
{
	private static ColaboradorData instance;
	private Map<Long, Colaborador> data = new TreeMap<Long, Colaborador>(); 

	private ColaboradorData()
	{
	}

	public static ColaboradorData getInstance()
	{
		if (instance == null)
			instance = new ColaboradorData();

		return instance;
	}

	private Map<Long, Colaborador> getData()
	{
		if (data.size() == 0)
		{
			Collection<Object> r = ColaboradorDAO.list();

			if (r != null)
				for (Object o : r)
				{
					Colaborador a = (Colaborador)o;
					data.put(a.getKey().getId(), a);
				}
		}

		return data;
	}

	public Colaborador getColaborador(Long id)
	{
		return getData().get(id);
	}

	public Collection<Colaborador> getColaboradores()
	{
		return getData().values();
	}
}